const app = getApp()
Page({
  data: {
    //判断小程序的API，回调，参数，组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    bg:app.globalData.apiUrl+'/public/uploads/video/start.jpg'
  },
  onLoad: function () {
    var that = this;
    // 查看是否授权
    wx.getSetting({
      success: function (res) {
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
            success: function (res) {
              //从数据库获取用户信息
              that.queryUsreInfo();
              //用户已经授权过
              wx.switchTab({
                url: '/pages/index/index'
              })
            }
          });
        }
      }
    })
  },
  bindGetUserInfo: function (e) {
    if (e.detail.userInfo) {
      //用户按了允许授权按钮
      var that = this;
      //把用户信息填入Page
      console.log(e.detail.userInfo)
      //授权成功后，跳转进入小程序首页
      that.register(e.detail.userInfo)
      wx.switchTab({
        url: '/pages/index/index'
      })
    } else {
      //用户按了拒绝按钮
      wx.showModal({
        title: '警告',
        content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!',
        showCancel: false,
        confirmText: '返回授权',
        success: function (res) {
          if (res.confirm) {
            console.log('用户点击了“返回授权”')
          }
        }
      })
    }
  },
  /**
   * 从数据库查询用户信息
   */
  queryUsreInfo: function (){
    wx.login({
      success: function (res){
        wx.request({
          url: app.globalData.apiUrl + '/api/User/getUserInfo',
          data: {code:res.code},
          method: 'POST',
          dataType: 'json',
          success: function(res) {
            //配置用户信息到全局
            app.globalData.userInfo = res.data;
            
          },
          fail: function(res) {},
          complete: function(res) {},
        })
      }
    })  
  },
  /**
   * 用户授权后注册
   */
  register: function(userInfo){
      //登入查询获取openid
      var that = this
      wx.login({
        success: function (res) {
          wx.request({
            url: app.globalData.apiUrl + '/api/User/login',
            data: { code: res.code, nickname:userInfo.nickName, avatarUrl:userInfo.avatarUrl},
            method: 'POST',
            dataType: 'json',
            success: function (res) {
              console.log(res);
              that.queryUsreInfo()
            },
            fail: function (res) { },
            complete: function (res) { },
          })
        }
      })
  }
})